package cn.tedu.inter2;

/**
 * @Author 金帮嘉诚
 * @Date 2021-06-11 周五 15:03
 */
/*本类用于进一步测试接口的使用*/
public class TestUserInter {
    public static void main(String[] args) {
        Inter2 i=new Inter2Impl();
        //接口中的变量都是静态常量
        System.out.println("Inter2.age = " + Inter2.age);
//        Inter2.age=10;Cannot assign a value to final variable 'age'

    }
}
interface Inter2{
    /*1.接口中有构造方法吗？--没有！！！*/
    //Test
//   public Inter2(){};Interface abstract methods cannot have body
    /*2.接口中有成员变量吗？--没有！！！
    * 实际上是一个静态常量，实际的写法是 public static final int age = 10;
    * 在接口中可以省略不写，接口中都是静态常量*/
//    int age;Variable 'age' might not have been initialized
    //接口中的变量实际上都是常量，因为它必须初始化
    /*3.接口里可以有抽象方法吗？--可以！！全是
    * 方法定义可以简写，默认自动拼接public abstract*/
    public static final int age=10;
    public abstract void eat();
    void eat2();

}
/*如果一个类没有明确指定父类，那么它的父类就是Object 顶级父类*/
//接口实现类
//Object是java中所有类的超类 没有父类的类默认存在 extends Object
//class Inter2Impl extends Object implements Inter2{
class Inter2Impl implements Inter2{
    //4.创建子类的构造方法

//    int age=1;
    public Inter2Impl() {
        super();//表示调用的是父类Object的无参构造
        System.out.println("Inter2Impl Constructor 我是实现类Inter2Impl的构造方法~");
    }
    //如果实现了接口，需要实现接口中的所有抽象方法
    @Override
    public void eat() {

    }

    @Override
    public void eat2() {

    }
}

